<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // ES6
    // ES6 允许按照一定模式，从数组和对象中提取值，对变量进行赋值，这被称为解构（Destructuring）。

    // 本质上，这种写法属于“模式匹配”，只要等号两边的模式相同，左边的变量就会被赋予对应的值。

    // 数组解构  => 对应下标解构
    // 对象解构  => 对应键名解构

    // var obj = { a: 1, b: 2, c: 3 };

    // 快速解构 => 对应键名解构
    // var { a, b, c } = { a: 1, b: 2, c: 3 };
    // console.log(a, b, c);

    // var { a: a, b: b, c: c } = { a: 1, b: 2, c: 3 };
    // console.log(a, b, c);

    // 解构过程中 自定义变量名
    // (1)  对象的属性名是关键字/保留字
    // (2)  变量已经被使用  => 不想影响原本的值

    // var { a: A, b: B, c: C } = { a: 1, b: 2, c: 3 };
    // console.log(A, B, C);

    var zhang = { name: "张三", age: 18, class: "2210", height: "173cm", weight: "70kg" };

    var { name, age, class: _class, height, weight } = zhang;
    console.log(name, age, _class, height, weight);





</script>

</html>